package com.company.module.net.factory;

import android.util.Log;


import com.company.module.net.utils.StringUtils;

import java.io.IOException;

import okhttp3.ResponseBody;
import retrofit2.Converter;


/**
 * @author sixbing
 * on 2018/4/24 0024 下午 2:54
 * description :
 */

public class StringResponseBodyConverter<T> implements Converter<ResponseBody, Object> {

    private final String TAG = "StringResponseBody";

    StringResponseBodyConverter() {
    }

    @Override
    public T convert(ResponseBody value) throws IOException {
        //ResponseData中的流只能使用一次，我们先将流中的数据读出在byte数组中。这个方法中已经关闭了ResponseBody,所以不需要再关闭了
        byte[] valueBytes = value.bytes();
        if (StringUtils.isNull(value)) {
            Log.e(TAG, "=============>>valueBytes=" + "null");
            return (T) "null";
        } else {
            String s = new String(valueBytes);
            Log.e(TAG, "=============>>" + s);
            return (T) s;
        }
    }

    private void handlerTokenTimeOut(byte[] obj, String flag) {
        if (StringUtils.isNull(obj)) {
            Log.e(TAG, flag + "=============>>" + obj);
        } else {
            String s = new String(obj);
            Log.e(TAG, flag + "=============>>" + s);
        }
    }
}
